<html>
<head><meta charset="utf-8"><title>IDE · t-compiler · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/index.html">t-compiler</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html">IDE</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="197264784"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197264784" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Rakshith Ravi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197264784">(May 12 2020 at 12:02)</a>:</h4>
<p>Hey, out of curiosity, what IDE do you guys use? I'm currently using VSCode and it's being super slow to show the types of variables and stuff. Doesn't seem to work well for large repos. Any suggestions on a better IDE?</p>



<a name="197266254"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197266254" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jonas Schievink  [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197266254">(May 12 2020 at 12:17)</a>:</h4>
<p>Have you tried out rust-analyzer? You're probably using RLS, right?</p>



<a name="197269492"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197269492" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Rakshith Ravi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197269492">(May 12 2020 at 12:46)</a>:</h4>
<p>Yeah, RLS</p>



<a name="197270004"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197270004" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Rakshith Ravi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197270004">(May 12 2020 at 12:50)</a>:</h4>
<p>OMG rust-analyzer is so good!</p>



<a name="197296206"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197296206" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mark-i-m <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197296206">(May 12 2020 at 15:46)</a>:</h4>
<p>Btw, the vscode rust plugin supports basic rust-analyzer as of today, apparently...</p>



<a name="197315300"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197315300" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197315300">(May 12 2020 at 18:06)</a>:</h4>
<p><span class="user-mention" data-user-id="297754">@Rakshith Ravi</span> if you're hacking on rustc, you can configure rust-analyzer to run <code>x.py check</code> to get the list of problems</p>



<a name="197315317"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197315317" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197315317">(May 12 2020 at 18:06)</a>:</h4>
<p>I'm not sure how well documented that is</p>



<a name="197315417"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197315417" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197315417">(May 12 2020 at 18:07)</a>:</h4>
<p>you want to put</p>
<div class="codehilite"><pre><span></span><code>{
    &quot;rust-analyzer.checkOnSave.overrideCommand&quot;: [
        &quot;./x.py&quot;,
        &quot;check&quot;,
        &quot;--json-output&quot;
    ],
    &quot;editor.formatOnSave&quot;: true
}
</code></pre></div>


<p>into <code>.vscode/settings.json</code></p>



<a name="197315437"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197315437" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197315437">(May 12 2020 at 18:07)</a>:</h4>
<p>I at least find that very convenient</p>



<a name="197315458"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197315458" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197315458">(May 12 2020 at 18:07)</a>:</h4>
<p>now if only I could get the formatter to use whatever random rustfmt <code>x.py fmt</code> does...</p>



<a name="197315532"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197315532" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197315532">(May 12 2020 at 18:08)</a>:</h4>
<p>cc <span class="user-mention" data-user-id="133169">@matklad</span> is it possible to configure the rustfmt binary that is used by vscode rust plugin, btw?</p>



<a name="197315647"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197315647" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Rakshith Ravi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197315647">(May 12 2020 at 18:09)</a>:</h4>
<p>oh cool! I'll check that out. Thanks!</p>



<a name="197331540"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197331540" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Félix Fischer <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197331540">(May 12 2020 at 20:10)</a>:</h4>
<p>Thank u for that snippet <span class="user-mention" data-user-id="116009">@nikomatsakis</span>, that's very useful!!</p>



<a name="197337815"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197337815" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197337815">(May 12 2020 at 20:53)</a>:</h4>
<p>need to add that to rustc-dev-guide</p>



<a name="197337842"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197337842" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197337842">(May 12 2020 at 20:53)</a>:</h4>
<p>if one of you wants to make a PR, it would be most welcome (presuming it's not in there already...)</p>



<a name="197337865"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197337865" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197337865">(May 12 2020 at 20:53)</a>:</h4>
<p>cc <span class="user-group-mention" data-user-group-id="1380">@WG-rustc-dev-guide</span> <span aria-label="point up" class="emoji emoji-1f446" role="img" title="point up">:point_up:</span></p>



<a name="197337980"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197337980" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197337980">(May 12 2020 at 20:54)</a>:</h4>
<p>oh we were literally talking about this in a meeting with <span class="user-mention" data-user-id="198054">@mark-i-m</span></p>



<a name="197338027"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197338027" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mark-i-m <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197338027">(May 12 2020 at 20:54)</a>:</h4>
<p>And I also created this issue: <a href="https://github.com/rust-lang/rustc-dev-guide/issues/703">https://github.com/rust-lang/rustc-dev-guide/issues/703</a></p>



<a name="197338108"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197338108" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197338108">(May 12 2020 at 20:55)</a>:</h4>
<p>I think we want a getting started section in rustc-dev-guide part 1, which has some info on how to setup your environment, how to build rustc, how to run tests, how to setup editor, etc</p>



<a name="197339101"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197339101" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197339101">(May 12 2020 at 21:03)</a>:</h4>
<p>Tying that into the "so you want to do {x}" documentation I've seen mentioned would be great as well. A lot of contributions do not need to build the compiler at all and the vast majority of contributions don't need a stage 2 compiler. Having specific workflows that make contributing as fast as possible would be excellent.</p>



<a name="197341122"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197341122" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197341122">(May 12 2020 at 21:19)</a>:</h4>
<p><del>btw</del></p>



<a name="197346349"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197346349" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197346349">(May 12 2020 at 22:07)</a>:</h4>
<p>Yup, it's possible to fully override rustfmt with this option: <a href="https://github.com/rust-analyzer/rust-analyzer/blob/23cc6908a7d6547bddf779227e3e1d5c5912861e/editors/code/package.json#L251-L262">https://github.com/rust-analyzer/rust-analyzer/blob/23cc6908a7d6547bddf779227e3e1d5c5912861e/editors/code/package.json#L251-L262</a></p>



<a name="197346406"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197346406" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197346406">(May 12 2020 at 22:08)</a>:</h4>
<p><code>rust-analyzer.rustfmt.overrideCommand</code></p>



<a name="197348054"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197348054" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197348054">(May 12 2020 at 22:25)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/131828-t-compiler/topic/IDE/near/197315417">said</a>:</p>
<blockquote>
<p>you want to put</p>
<div class="codehilite"><pre><span></span><code>{
    &quot;rust-analyzer.checkOnSave.overrideCommand&quot;: [
        &quot;./x.py&quot;,
        &quot;check&quot;,
        &quot;--json-output&quot;
    ],
    &quot;editor.formatOnSave&quot;: true
}
</code></pre></div>


<p>into <code>.vscode/settings.json</code></p>
</blockquote>
<p>is someone doing something like this on vim?</p>



<a name="197348083"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197348083" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197348083">(May 12 2020 at 22:26)</a>:</h4>
<p>I'm using coc, and placed a .vim/coc-settings.json with the following ...</p>



<a name="197348130"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197348130" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197348130">(May 12 2020 at 22:26)</a>:</h4>
<div class="codehilite"><pre><span></span><code>{
        &quot;rust-analyzer.checkOnSave.overrideCommand&quot;: [
                &quot;./x.py&quot;,
                &quot;check&quot;,
                &quot;--stage 1&quot;,
                &quot;--json-output&quot;
        ]
}
</code></pre></div>



<a name="197348135"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197348135" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197348135">(May 12 2020 at 22:26)</a>:</h4>
<p>but doesn't seem to work</p>



<a name="197348619"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197348619" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197348619">(May 12 2020 at 22:31)</a>:</h4>
<p><span class="user-mention silent" data-user-id="133169">matklad</span> <a href="#narrow/stream/131828-t-compiler/topic/IDE/near/197346349">said</a>:</p>
<blockquote>
<p>Yup, it's possible to fully override rustfmt with this option: <a href="https://github.com/rust-analyzer/rust-analyzer/blob/23cc6908a7d6547bddf779227e3e1d5c5912861e/editors/code/package.json#L251-L262">https://github.com/rust-analyzer/rust-analyzer/blob/23cc6908a7d6547bddf779227e3e1d5c5912861e/editors/code/package.json#L251-L262</a></p>
</blockquote>
<p>ah, nice, so we could link it to stage0/bin/rustfmt or whatever...</p>



<a name="197352386"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197352386" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197352386">(May 12 2020 at 23:18)</a>:</h4>
<p>/me is reminded that we likely want to create a build/bin directory that's symlinked to the "real" stage0 bin or just drop the build triple (and not support multiple build triples at once)</p>



<a name="197519759"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/IDE/near/197519759" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/IDE.html#197519759">(May 14 2020 at 07:47)</a>:</h4>
<p><span class="user-mention silent" data-user-id="198054">mark-i-m</span> <a href="#narrow/stream/131828-t-compiler/topic/IDE/near/197296206">said</a>:</p>
<blockquote>
<p>Btw, the vscode rust plugin supports basic rust-analyzer as of today, apparently...</p>
</blockquote>
<p><span class="user-mention" data-user-id="198054">@mark-i-m</span> keep in mind that "supports" means that it doesn't crash on start-up :-) There's a ton of extra features in rust-analyzer own plugin at the moment, the most notable one being code actions</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>